package br.com.sguc.sessionBean;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;

import br.com.sguc.entidade.Comentario;
import br.com.sguc.entidade.Topico;
import br.com.sguc.interfaces.TopicoRemote;

@Stateless
public class ForumSessionBean implements TopicoRemote {

	@PersistenceContext
	private EntityManager em;
	
	@Override
	public void salvar(Topico topico) {
		try {
			em.persist(topico);
		} catch (Exception e) {
			// TODO: handle exception
		}
		
	}

	@Override
	public List<Topico> listarTopicos(Topico topico) {
		
			
		List<Topico> list = new ArrayList<>();
		try{
		
		TypedQuery<Topico> query1 = em.createQuery("select t1 from Topico t1 where upper(titulo_topico) like upper('%" + topico.getTituloTopico() + "%')",  Topico.class);
		list = query1.getResultList();
		
		} catch(Exception e){
			e.printStackTrace();
		}
		
		return list;
	}

	@Override
	public List<Comentario> listarComentarios(Topico topico) {
		List<Comentario> list = new ArrayList<>();
		try{
		
		TypedQuery<Comentario> query1 = em.createQuery("select c1 from Comentario c1 where id_topico = " + topico.getIdTopico() +"",  Comentario.class);
		list = query1.getResultList();
		
		} catch(Exception e){
			e.printStackTrace();
		}
		
		return list;
	}
	
	
	@Override
	public void atualizar(Topico topico) {
		try {
			em.merge(topico);
		} catch (Exception e) {
			// TODO: handle exception
		}
		
	}

	@Override
	public void salvarComentario(Comentario comentario) {

		try {
			em.persist(comentario);
		} catch (Exception e) {
			// TODO: handle exception
		}
		
	}

	@Override
	public void atualizarComentario(Comentario comentario) {
		// TODO Auto-generated method stub
		
	}


}
